.item {
  position: relative;
  display: flex;
  cursor: pointer;
  height: 28px;
  padding-left: 10px;
}

.item.large {
  height: 48px;
}

.dropBottom {
  &::after {
    content: '';
    position: absolute;
    height: 2px;
    bottom: 0;
    left: 0;
    right: 0;
    background: #f00;
  }
}

.dropTop {
  &::after {
    content: '';
    position: absolute;
    height: 2px;
    top: 0;
    left: 0;
    right: 0;
    background: #f00;
  }
}

.selected {
  background: var(--color-list-selected);
}

.changed {
  font-style: italic;
}

.hover {
  &:hover {
    background: var(--color-list-hover);
  }
}

.text {
  line-height: 28px;
  padding-left: 5px;
  white-space: nowrap;
  text-overflow: ellipsis;
  flex-grow: 1;
  overflow: hidden;

  input {
    border: 0;
    background: inherit;
    color: inherit;
    outline: none;
    width: 100%;
  }
}

.subtitle {
  line-height: 20px;
  margin-top: -5px;
  padding-left: 5px;
  white-space: nowrap;
  text-overflow: ellipsis;
  flex-grow: 1;
  overflow: hidden;
  font-size: 0.9rem;
  opacity: 0.7;
}

.icon {
  width: 30px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;

  img {
    width: 20px;
    height: 20px;
  }
}

.action {
  width: 20px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;

  img {
    width: 20px;
    height: 20px;
  }
}

.action.dark {
  img {
    filter: invert(1);
  }
}

.icon.dark {
  img {
    filter: invert(1);
  }
}

.depth {
  width: 15px;
  margin-left: 15px;
  border-left: 1px solid var(--color-list-line-guide);
  position: relative;
  flex-shrink: 0;

  &::after {
    content: '';
    display: block;
    position: absolute;
    top: 15px;
    height: 1px;
    border-top: 1px solid var(--color-list-line-guide);
    width: 10px;
  }
}

.large {
  .depth {
    &::after {
      content: '';
      display: block;
      position: absolute;
      top: 24px;
      height: 1px;
      border-top: 1px solid var(--color-list-line-guide);
      width: 10px;
    }
  }
}
